﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MathLibrary
{
    class Program
    {
        static void Main(string[] args)
        {
            Int32 x = 10;

            Console.WriteLine("возведение в квадрат {0}", x.VozvedenieVStepen(2));
            Console.WriteLine("проверка на простое число {0}", x.ProstoeChislo());
            Console.WriteLine("площадь квадрата со сторонами {0} и {1} равна {2}", x, x, MathClass.PloshadKvadrat(x, x));

            Console.ReadLine();
        }
    }

    public static class MathClass
    {
        public static Int32 VozvedenieVStepen(this Int32 x, Int32 n) 
        {
            Int32 temp = x;
            for (Int32 i = 0; i < n; i++)
            {
                temp = temp * x;
            }
            return temp;
        }

        public static Double VozvedenieVStepen(this Double x, Int32 n)
        {
            Double temp = x;
            for (Int32 i = 0; i < n; i++)
            {
                temp = temp * x;
            }
            return temp;
        }

        public static Boolean ProstoeChislo(this Int32 x)
        {
            return ((x % 2 == 0) && (x % 3 == 0) && (x % 5 == 0) && (x % 7 == 0) && (x % 11 == 0) && (x % 13 == 0) && (x % 17 == 0));
        }

        public static Byte ChisloEdinic(this Int32 x)
        {
            Byte y = Convert.ToByte(x);
            return y;
        }

        public static Int32 PloshadKvadrat(Int32 a, Int32 b)
        {
            return a * b;
        }
    }
}
